iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0
Software Development

30天收斂後端開發心法系列 第 19

30天收斂後端開發心法 - (19) HTTP Client

  • 分享至 

  • xImage
  •  

在 Laravel 專案中,當我們需要向 外部 API 發送請求 時,常用的工具有:

  • 傳統的 Guzzle
  • Laravel 7 之後內建的 HTTP Client(基於 Guzzle 封裝)

Laravel HTTP Client 讓我們以更簡潔的方式發送 HTTP 請求,以下就透過實際範例來比較兩者的用法。

1. 安裝 Guzzle

Laravel 預設已安裝 Guzzle,如果沒有的話可透過下列指令安裝:

composer require guzzlehttp/guzzle

2. 發送 GET 請求

Laravel HTTP Client:

use Illuminate\Support\Facades\Http;

$response = Http::get('http://example.com');
$data = $response->json(); // 可直接取得 JSON 陣列
Guzzle:
$client = new \GuzzleHttp\Client();
$res = $client->get('http://example.com');

$data = json_decode($res->getBody()->getContents(), true);
3. 發送 POST 請求並附帶參數
Laravel HTTP Client:
$response = Http::post('http://example.com/users', [
    'name' => 'Steve',
    'role' => 'Network Administrator',
]);

Guzzle:

$client = new \GuzzleHttp\Client();

$options['json'] = [
    'name' => 'Steve',
    'role' => 'Network Administrator',
];
$res = $client->post('http://example.com/users', $options);

Laravel HTTP Client 優勢

  • 特性說明語法簡潔Http::get/post/... 可讀性高,
  • 寫法直覺內建 JSON 支援回應可直接使用 $response->json()
  • 可使用 Http::fake() 模擬 API 回傳值,非常適合測試

上一篇
30天收斂後端開發心法 - (18) Laravel Mock
下一篇
30天收斂後端開發心法 - (20) Git Hook
系列文
30天收斂後端開發心法30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言